#include <bits/stdc++.h>
using namespace std;

int n;

struct node{
    int a;
    bool isright;
};

stack<node> stk_red;
stack<node> stk_blue;

bool b[1000001];
node num[200005];
long long scoren;

int main(){
    freopen("color.in","r",stdin);
    freopen("color.out","w",stdout);

    int T;
    scanf("%d",&T);

    while(T--)
    {
        scanf("%d",&n);

        for(int i=1;i<=n;i++)
        {
            scanf("%d",&num[i].a);
            num[i].isright=false;
        }

        memset(b,false,sizeof(b));
        scoren=0;

        for(int i=n;i>=1;i--)
        {
            if(b[num[i].a]==true)
            {
                num[i].isright=true;
            }
            else
            {
                b[num[i].a]=true;
            }
        }


/*
        for(int i=1;i<=n;i++)
        {
            if(num[i].isright)
            {
                printf("true ");
            }
            else
            {
                printf("false ");
            }
        }
        printf("\n");
*/


        node t={0,false};
        stk_blue.push(t);
        stk_red.push(t);

        for(int i=1;i<=n;i++)
        {
            node dred=stk_red.top();
            node dblue=stk_blue.top();

            if(num[i].a==dred.a)
            {
                stk_red.push(num[i]);
                scoren+=num[i].a;
            }

            else if(num[i].a==dblue.a)
            {
                stk_blue.push(num[i]);
                scoren+=num[i].a;
            }

            else if(dred.isright&&dblue.isright)
            {
                if(dred.a>=dblue.a)
                {
                    stk_blue.push(num[i]);
                }
                else
                {
                    stk_red.push(num[i]);
                }
            }

            else if(dred.isright)
            {
                stk_blue.push(num[i]);
            }

            else
            {
                stk_red.push(num[i]);
            }

 //           printf("score:%lld\n",scoren);
        }


        printf("%lld\n",scoren);
    }

    /*3
 3
 1 2 1
 4
 1 2 3 4
 8
 3 5 2 5 1 2 1 4

    */

    fclose(stdin);
    fclose(stdout);

    return 0;
}
